<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <body>
        <ui:composition template="./TemplatePrincipal.xhtml">

            <ui:define name="top">
                <h:form>
                    <p:commandButton update="panel,display" icon="ui-icon-triangle-1-w" action="UserList" title="Atras" ajax="false"/>
                    <p:commandButton update="panel,display" icon="ui-icon-home" action="MenuPrincipal" title="Menu Principal" ajax="false"/>
                </h:form>
            </ui:define>

            <ui:define name="left">
            </ui:define>

            <ui:define name="content">
                <f:view>
                    <h:form>
                        <p:panel header="Usuario Crear/Editar" footer="Los campos con asterisco * son obligatorios." toggleable="true">
                            <h:panelGrid columns="2">
                                <p:outputLabel value="Clave:" for="clave" />
                                <p:inputMask mask="999-999" id="clave" value="#{userBean.user.clave}" title="Clave" required="true" requiredMessage="The Clave field is required." validatorMessage="La clave debe ser entre 100 y 1000, de 3 minimo y 10 máximo de caracteres."/>
                                <p:outputLabel value="Nombre:" for="nombre" />
                                <p:inputText id="nombre" value="#{userBean.user.nombre}" title="Nombre" required="true" requiredMessage="The Nombre field is required." validatorMessage="El nombre debe contener entre 3 y 30 letras, las iniciales en mayuscula.">
                                    <f:validateLength minimum="3" maximum="30"/>
                                    <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+"/>
                                </p:inputText>
                                <p:outputLabel value="Apellido Paterno:" for="apellidoPaterno" />
                                <p:inputText id="apellidoPaterno" value="#{userBean.user.apellidoPaterno}" title="ApellidoPaterno" required="true" requiredMessage="The ApellidoPaterno field is required." validatorMessage="El Apellido Paterno solo se aceptan letras, la primera en mayúscula y debe contener entre 3 y 30 letras.">
                                    <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+"/>
                                    <f:validateLength minimum="3" maximum="20"/>
                                </p:inputText>
                                <p:outputLabel value="Apellido Materno:" for="apellidoMaterno" />
                                <p:inputText id="apellidoMaterno" value="#{userBean.user.apellidoMaterno}" title="ApellidoMaterno" validatorMessage="En el Apellido Materno solo se aceptan letras, la primera en mayúscula y debe contener entre 3 y 30 letras.">
                                    <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+"/>
                                    <f:validateLength minimum="3" maximum="20"/>
                                </p:inputText>
                                <p:outputLabel value="Telefono:" for="telefono" />
                                <p:inputMask mask="(999)999-9999" id="telefono" value="#{userBean.user.telefono}" title="Telefono" validatorMessage="El telefono es numerico de 10 a 15 caracteres."/>

                                <p:outputLabel value="Direccion:" for="direccion" />
                                <p:inputText id="direccion" value="#{userBean.user.direccion}" title="Direccion" required="true" requiredMessage="The Direccion field is required." validatorMessage="La dirección debe contener de 10 a 50 caracteres, terminando con un número.">
                                    <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+[0-9]+"/>
                                </p:inputText>
                                <p:outputLabel value="Ciudad:" for="ciudad" />
                                <p:inputText id="ciudad" value="#{userBean.user.ciudad}" title="Ciudad" required="true" requiredMessage="The Ciudad field is required." validatorMessage="La ciudad debe contener de 5 a 45 caracteres, solo letras iniciando con mayúscula.">
                                    <f:validateLength minimum="5" maximum="45"/>
                                    <f:validateRegex pattern="([A-Z]{1}[a-z]+\s?)+"/>
                                </p:inputText>
                                <p:outputLabel value="Estado:" for="estado" />
                                <p:inputText id="estado" value="#{userBean.user.estado}" title="Estado" required="true" requiredMessage="The Estado field is required."/>
                                <p:commandButton update="panel,display" icon="ui-icon-check" action="UserConfirm" value="Aceptar" ajax="false"/>
                                <p:commandButton update="panel,display" icon="ui-icon-closethick" action="UserList" value="Cancelar" immediate="true" ajax="false"/>
                            </h:panelGrid>
                        </p:panel>
                    </h:form>
                </f:view>

            </ui:define>

        </ui:composition>

    </body>
</html>
